package org.dromara.hm.domain.vo;

import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.hm.domain.HmIssueReceiptRecords;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 出入库记录视图对象 hm_issue_receipt_records
 *
 * @author zy Hu
 * @date 2024-12-15
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = HmIssueReceiptRecords.class)
public class HmIssueReceiptRecordsVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 记录id
     */
    @ExcelProperty(value = "记录id")
    private Long recordId;

    /**
     * 记录商品id
     */
    @ExcelProperty(value = "记录商品id")
    private Long recordProductId;

    /**
     * 记录产品名称
     */
    @ExcelProperty(value = "记录产品名称")
    @Translation(type = TransConstant.PRODUCT_ID_TO_NAME, mapper = "recordProductId")
    private String recordProductName;

    /**
     * 记录产品类型
     */
    private String recordProductType;

    /**
     * 记录数量
     */
    @ExcelProperty(value = "记录数量")
    private Integer recordNum;

    /**
     * 记录类型
     */
    @ExcelProperty(value = "记录类型")
    private String recordType;

    /**
     * 记录起始所在仓库
     */
    private String recordStartLocation;

    /**
     * 记录起始所在仓库
     */
    @ExcelProperty(value = "记录起始所在仓库")
    @Translation(type = TransConstant.DEPT_ID_TO_NAME, mapper = "recordStartLocation")
    private String recordStartLocationName;

    /**
     * 记录终点所在仓库
     */
    private String recordEndLocation;

    /**
     * 记录终点所在仓库
     */
    @ExcelProperty(value = "记录终点所在仓库")
    @Translation(type = TransConstant.DEPT_ID_TO_NAME, mapper = "recordEndLocation")
    private String recordEndLocationName;

    /**
     * 状态
     */
    private String status;

    /**
     * 操作时间
     */
    private Date createTime;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;


    /**
     * 员工福利-员工id集合
     */
    private List<String> employeeIds;

    /**
     * 客户赠品-客户id集合
     */
    private List<String> customerIds;

    /**
     * 赠品人员id集合
     */
    private String userOrCustomerIds;

    /**
     * 可修改次数
     */
    private Integer modifiableTimes;

    /**
     * 外围市场
     */
    private String peripheralMarket;


}
